home *** CD-ROM | disk | FTP | other *** search
/ Mac Easy 2010 May / Mac Life Ubuntu.iso / casper / filesystem.squashfs / usr / src / linux-headers-2.6.28-15 / include / linux / kref.h < prev    next >
Encoding:
C/C++ Source or Header  |  2008-12-24  |  705 b   |  31 lines

  1. /*
  2.  * kref.c - library routines for handling generic reference counted objects
  3.  *
  4.  * Copyright (C) 2004 Greg Kroah-Hartman <greg@kroah.com>
  5.  * Copyright (C) 2004 IBM Corp.
  6.  *
  7.  * based on kobject.h which was:
  8.  * Copyright (C) 2002-2003 Patrick Mochel <mochel@osdl.org>
  9.  * Copyright (C) 2002-2003 Open Source Development Labs
  10.  *
  11.  * This file is released under the GPLv2.
  12.  *
  13.  */
  14.  
  15. #ifndef _KREF_H_
  16. #define _KREF_H_
  17.  
  18. #include <linux/types.h>
  19. #include <asm/atomic.h>
  20.  
  21. struct kref {
  22.     atomic_t refcount;
  23. };
  24.  
  25. void kref_set(struct kref *kref, int num);
  26. void kref_init(struct kref *kref);
  27. void kref_get(struct kref *kref);
  28. int kref_put(struct kref *kref, void (*release) (struct kref *kref));
  29.  
  30. #endif /* _KREF_H_ */
  31.